CRONO SDK 1.0.1
CRONO_SDK.h File Reference
#include <stdlib.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  CRONO_DeviceInfo
 
struct  CRONO_AcquisitionInfo
 
struct  CRONO_AcquisitionStatus
 
struct  CRONO_CameraSettings
 

Macros

#define MAX_PATTERN_LENGTH   8192
 
#define MIN_GATE_OFF   12
 
#define MIN_GATE_ON   5
 
#define MAX_SERIAL_LENGTH   20
 
#define MAX_DATETIME_LENGTH   100
 

Typedefs

typedef uint8_t cronoBool
 
typedef struct Crono * CRONO_H
 

Enumerations

enum  CRONO_Return {
  NO_ERR = 0 , DEVICE_NOT_FOUND = 1 , LOGIC_VERSION_FAIL = 2 , DEVICE_NOT_OPEN = 3 ,
  DEVICE_ALREADY_OPEN = 4 , DEVICE_OPEN_AS_CONVERTER = 5 , INVALID_DATA_FILE = 6 , SENSOR_FAILED = 7 ,
  POWER_FAILED = 8 , INVALID_PIXEL_NUMBER = 9 , INVALID_DEAD_TIME = 10 , INVALID_HALVES_CONFIG = 11 ,
  INVALID_START_RATE = 12 , INVALID_DIVISION_FACTOR = 13 , INVALID_FRAME_BURST_COUNT = 14 , INVALID_GATE_LENGHT = 15 ,
  INVALID_LASER_SYNC_LENGHT = 16 , INVALID_CONFIG = 17 , INVALID_THRESHOLD = 18 , NO_SUCH_FILE_OR_DIRECTORY = 19 ,
  ACQ_ONGOING = 20 , ACQ_EXT_TRIG_TIMEOUT = 21 , RAM_FULL = 22 , NULL_POINTER = 23 ,
  PATTERN_TOO_LONG = 24 , INVALID_CHANNEL = 25 , INVALID_ENUM = 26 , FPGA_FAILED = -1 ,
  FPGA_TIMEOUT = -2
}
 
enum  CRONO_SensorType { CRONO_8X8 = 0 , CRONO_128X1 = 1 }
 
enum  CRONO_PixelMode { TIMING = 0 , COUNTING = 1 }
 
enum  CRONO_AuxInputMode { OFF = 0 , RISING_EDGE = 1 , FALLING_EDGE = 2 , BOTH_EDGES = 3 }
 

Functions

CRONO_Return CRONO_Constr (CRONO_H *crono)
 
CRONO_Return CRONO_Destr (CRONO_H crono)
 
CRONO_Return CRONO_GetDeviceCount (CRONO_H crono, int *count)
 
CRONO_Return CRONO_GetDeviceSerial (CRONO_H crono, int deviceIndex, char *buf)
 
CRONO_Return CRONO_OpenDeviceBySerial (CRONO_H crono, char *serial)
 
CRONO_Return CRONO_GetDeviceInfo (CRONO_H crono, char *serial, CRONO_DeviceInfo *deviceInfo)
 
CRONO_Return CRONO_OpenDeviceAsDataConverter (CRONO_H crono, char *rawFilePath)
 
CRONO_Return CRONO_SetSpadDeadTime (CRONO_H crono, int deadTimeNs)
 
CRONO_Return CRONO_GetSensorType (CRONO_H crono, CRONO_SensorType *sensorType)
 
CRONO_Return CRONO_ConfigSensor (CRONO_H crono, int activePixels, cronoBool half1Enable, cronoBool half2Enable, double *maxFrameStartFrequency)
 
CRONO_Return CRONO_GetActivePixels (CRONO_H crono, int *activePixels)
 
CRONO_Return CRONO_LoadCameraSettings (CRONO_H crono, CRONO_CameraSettings settings)
 
CRONO_Return CRONO_GetCameraSettings (CRONO_H crono, CRONO_CameraSettings *settings)
 
CRONO_Return CRONO_LoadSettingsFromFile (CRONO_H crono, char *path)
 
CRONO_Return CRONO_SaveSettingsToFile (CRONO_H crono, char *path)
 
CRONO_Return CRONO_ConfigAcquisition (CRONO_H crono, CRONO_PixelMode pixelMode, cronoBool framesEnable, cronoBool histogramsEnable, cronoBool timeTagsEnable, cronoBool liveEnable, cronoBool unused, const char *rawDataOutPath)
 
CRONO_Return CRONO_StartAcquisition (CRONO_H crono, uint64_t acqMaxFrames, int integPeriodFrames)
 
CRONO_Return CRONO_StopAcquisition (CRONO_H crono, cronoBool force)
 
CRONO_Return CRONO_GetAcquisitionStatus (CRONO_H crono, CRONO_AcquisitionStatus *status)
 
CRONO_Return CRONO_GetAcquisitionInfo (CRONO_H crono, CRONO_AcquisitionInfo *acqInfo)
 
CRONO_Return CRONO_GetFramesData (CRONO_H crono, uint32_t *buf, uint64_t capacityNumFrames, uint64_t *copiedNumFrames)
 
CRONO_Return CRONO_GetTimeTagsData (CRONO_H crono, uint64_t *dataBuf, uint64_t capacity, uint64_t *copiedLen)
 
CRONO_Return CRONO_GetHistogramData (CRONO_H crono, uint32_t *buf, uint64_t capacityNumHists, uint64_t *copiedNumHists)
 
CRONO_Return CRONO_GetLiveData (CRONO_H crono, uint32_t *countsBuf, uint32_t *histogramBuf, cronoBool *dataIsNew)
 
CRONO_Return CRONO_ConfigFrameStartInternal (CRONO_H crono, double frameRate, double *actualBin)
 
CRONO_Return CRONO_ConfigFrameStartExternal (CRONO_H crono, double frameRate, double threshold, cronoBool externalStartPosedge, int divFactor)
 
CRONO_Return CRONO_ConfigGateExternal (CRONO_H crono, double threshold, cronoBool externalGateInvert)
 
CRONO_Return CRONO_ConfigGateInternal (CRONO_H crono, int *pattern, int patternLen)
 
CRONO_Return CRONO_ConfigLaserSync (CRONO_H crono, int *pattern, int patternLen)
 
CRONO_Return CRONO_ConfigOutputs (CRONO_H crono, int chan1Selection, int chan2Selection, int chan3Selection)
 
CRONO_Return CRONO_ConfigAuxiliaryInputs (CRONO_H crono, CRONO_AuxInputMode bitModeA, CRONO_AuxInputMode bitModeB, double bitAThreshold)
 
CRONO_Return CRONO_ConfigTriggerExternal (CRONO_H crono, int framesBurstCount)
 
CRONO_Return CRONO_ConfigTriggerInternal (CRONO_H crono)
 
CRONO_Return CRONO_GetInputFrequencies (CRONO_H crono, double *extStartFrequency, double *extGateFrequency, double *extTriggerFrequency)
 

Detailed Description

CRONO software development kit.

This C header contains all the functions to operate the CRONO camera in user defined applications.